// RGBtoYUV.h: interface for the RGBtoYUV class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RGBTOYUV_H__999B80FB_D5EF_4955_895A_8189521E2D93__INCLUDED_)
#define AFX_RGBTOYUV_H__999B80FB_D5EF_4955_895A_8189521E2D93__INCLUDED_

#include <iostream>
#include <string>
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <list>
 #include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

#define CLIP(X) ( (X) > 255 ? 255 : (X) < 0 ? 0 : X)

class RGBtoYUV
{
	public:
		RGBtoYUV();
		~RGBtoYUV();

		void ConvertYuvToRgb(cv::Mat &img, int width, int height) const;
		cv::Mat ConvertRgbToYuv(cv::Mat &img) ;
		cv::Mat ConvertYUV_444_To_411(cv::Mat &img);
		cv::Mat ConvertYuv411ToRgb(cv::Mat &img, int width, int height);
	private:
};

#endif // !defined(AFX_RGBTOYUV_H__999B80FB_D5EF_4955_895A_8189521E2D93__INCLUDED_)
